package controller

import (
	"MessageSendService/app/api/internal/service"
	"MessageSendService/app/common/log"
	"fmt"
	"github.com/gin-gonic/gin"
	"go.uber.org/zap"
	"strconv"
)

type AccountApi struct{}

func AccountInit(g *gin.Engine) {
	g.GET("/account/getAccountById", AccountApi{}.GetAccountById)
}

// GetAccountById
// @Summary 查询。
// @Description  根据主键id查找对应的账号信息。
// @Tags 账号信息。
// @Param id query int true "id"
// @Success 200 {object} common.Result
// @Router /account/getAccountById [get]
func (a AccountApi) GetAccountById(context *gin.Context) {
	//var id int64
	idString := context.Query("id")
	fmt.Println(idString)

	id, err := strconv.ParseInt(idString, 10, 64)
	if err != nil {
		log.GetLogger().Error("获取参数失败")
		context.JSON(200, gin.H{
			"code": 200,
			"msg":  "success",
			"data": err.Error(),
		})
		return
	}
	account, err := service.NewAccountService().GetById(id)
	if err != nil {
		return
	}
	log.GetLogger().Info("获取账号成功:", zap.Any("account", account))
	context.JSON(200, gin.H{
		"code": 200,
		"msg":  "success",
		"data": account,
	})
}
